/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fonol.facades;

import fonol.entidades.Candidatos;
import fonol.entidades.Estados;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Fredfred2
 */
@Stateless
public class CandidatosFacade implements CandidatosFacadeRemote {
    @PersistenceContext
    private EntityManager em;

    public void create(Candidatos candidatos) {
        em.persist(candidatos);
    }
    
    public Candidatos persiste(Candidatos candidatos) {
        em.persist(candidatos);
        return em.merge(candidatos);
    }
    

    public void edit(Candidatos candidatos) {
        em.merge(candidatos);
    }

    public void remove(Candidatos candidatos) {
        em.remove(em.merge(candidatos));
    }

    public Candidatos find(Object id) {
        return em.find(fonol.entidades.Candidatos.class, id);
    }

    public List<Candidatos> findAll() {
        return em.createQuery("select object(o) from Candidatos as o where o.beneficiariosCollection is empty").getResultList();
    }

    public boolean existe(String rfc) {
        List<Candidatos> l=em.createNamedQuery("Candidatos.findByRfc").setParameter("rfc", rfc).getResultList();
        if(l.isEmpty())
            return false;
        return true;
    }

    public List<Candidatos> findByEstado(Integer estadoElegido) {
        Estados estado=em.find(Estados.class, estadoElegido);
        List<Candidatos> aux=(List<Candidatos>) em.createNamedQuery("Candidatos.findByEstadoNoBeneficiarios").setParameter("estado", estado).getResultList();
        return aux;
    }


}
